# 2.1、用户相关 API，路由模块

from fastapi import APIRouter, Depends

from app.config import get_db
from app.auths.auth import admin_required
from app.middleware.context import get_request_context


router = APIRouter()


@router.get("/users/{user_id}")
def read_user(user_id: int):
    return {"user_id": user_id}


@router.get("/users")
async def get_users(db=Depends(get_db)):
    return await db.execute_query_dict("SELECT * FROM user")


@router.get("/admin")
async def admin_dashboard(current_user=Depends(admin_required)):
    return {"msg": f"Welcome admin {current_user.username}"}
"""
    优点：
        • 保证事务一致性
        • 避免重复创建连接
        • 易于测试（可替换 get_db）
"""


@router.get("/log")
async def log(ctx = Depends(get_request_context)):
    print(f"来自 {ctx['ip']} 的请求，UA: {ctx['user_agent']}")
    return {"message":"Logged"}
"""
    优点：
        • 自动提取请求相关数据
        • 避免在每个接口中手动处理
        • 支持结构化日志、追踪、限流等高级特性
"""


